// 如果您已集成 v2.x 的 SDK，想升级到 V3 并且想尽可能地少改动项目代码，可以继续沿用 TIM
// import TIM from '@tencentcloud/chat';
import TencentCloudChat from '@tencentcloud/chat';
import TIMUploadPlugin from 'tim-upload-plugin';
// import TIMProfanityFilterPlugin from 'tim-profanity-filter-plugin';
uni.$chatEvent = TencentCloudChat.EVENT;
uni.$chatType = TencentCloudChat.TYPES;
let options = {
  SDKAppID: 1600073867 // 接入时需要将0替换为您的即时通信 IM 应用的 SDKAppID
};
console.log(options)
// 创建 SDK 实例，`TencentCloudChat.create()`方法对于同一个 `SDKAppID` 只会返回同一份实例
let chat = TencentCloudChat.create(options); // SDK 实例通常用 chat 表示

chat.setLogLevel(1); // 普通级别，日志量较多，接入时建议使用
// chat.setLogLevel(1); // release 级别，SDK 输出关键信息，生产环境时建议使用

// 注册腾讯云即时通信 IM 上传插件
chat.registerPlugin({'tim-upload-plugin': TIMUploadPlugin});

// 注册腾讯云即时通信 IM 本地审核插件
// chat.registerPlugin({'tim-profanity-filter-plugin': TIMProfanityFilterPlugin});





// SDK 进入 ready 状态时触发，接入侧监听此事件，然后可调用 SDK 发送消息等 API，使用 SDK 的各项功能。
let onSdkReady = function(event) {
  // let message = chat.createTextMessage({
  //   to: 'user1',
  //   conversationType: 'C2C',
  //   payload: { text: 'Hello world!' }
  // });
  // chat.sendMessage(message);
  console.log('ready了ready了ready了ready了ready了ready了ready了ready了ready了ready了ready了')
};
chat.on(TencentCloudChat.EVENT.SDK_READY, onSdkReady);


// SDK 进入 not ready 状态时触发，此时接入侧将无法使用 SDK 发送消息等功能。如果想恢复使用，接入侧需调用 login 接口，驱动 SDK 进入 ready 状态。
let onSdkNotReady = function(event) {
  // chat.login({userID: 'your userID', userSig: 'your userSig'});
};
chat.on(TencentCloudChat.EVENT.SDK_NOT_READY, onSdkNotReady);

// SDK 收到推送的单聊、群聊、群提示、群系统通知的新消息，接入侧可通过遍历 event.data 获取消息列表数据并渲染到页面。
let onMessageReceived = function(event) {
  // event.data - 存储 Message 对象的数组 - [Message]
};
chat.on(TencentCloudChat.EVENT.MESSAGE_RECEIVED, onMessageReceived);

// 用户被踢下线时会触发事件TencentCloudChat.EVENT.KICKED_OUT，用户可在监听到事件后做相应处理。
let onKickedOut = function(event) {
  console.log(event.data.type);
  // TencentCloudChat.TYPES.KICKED_OUT_MULT_ACCOUNT(Web端，同一账号，多页面登录被踢)
  // TencentCloudChat.TYPES.KICKED_OUT_MULT_DEVICE(同一账号，多端登录被踢)
  // TencentCloudChat.TYPES.KICKED_OUT_USERSIG_EXPIRED(签名过期)
  // TencentCloudChat.TYPES.KICKED_OUT_REST_API(REST API kick 接口踢出)
};


chat.on(TencentCloudChat.EVENT.KICKED_OUT, onKickedOut);


export default chat;